์คํ ๋ฆฌ์ง ์๋ฒ
Nextcloud๋ ํ์ผ ์ ์ฅ, ๊ณต์ ๋ฐ ํ์ ์ ์ํ ์คํ์์ค ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง ์๋ฃจ์ ์ ๋๋ค. ๊ฐ์ธ ์๋ฒ์ Nextcloud๋ฅผ ์ค์นํ๋ฉด ๋ฐ์ดํฐ์ ํ๋ผ์ด๋ฒ์์ ๋ณด์์ ์ ์งํ๋ฉด์ ํด๋ผ์ฐ๋ ์ ์ฅ์๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค. ์๋๋ Nextcloud๋ฅผ ์คํ ๋ฆฌ์ง ์๋ฒ์ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
1. ์์คํ ์๊ตฌ ์ฌํญ
- ์ด์ ์ฒด์ : Ubuntu 20.04 ์ด์ ๋๋ CentOS 7 ์ด์
- ์น ์๋ฒ: Apache, Nginx ๋ฑ
- PHP: PHP 7.4 ์ด์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค: MySQL, MariaDB, PostgreSQL ๋ฑ
2. ํ์ํ ํจํค์ง ์ค์น
Ubuntu์์ ์ค์น
sudo apt update
sudo apt install apache2 libapache2-mod-php php php-mysql php-xml php-zip php-gd php-curl php-mbstring php-intl php-bcmath php-gmp php-json
CentOS์์ ์ค์น
sudo yum install epel-release
sudo yum install httpd php php-mysqlnd php-xml php-zip php-gd php-curl php-mbstring php-intl php-bcmath php-gmp
3. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์
MySQL ๋๋ MariaDB๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์ ํฉ๋๋ค.
MySQL/MariaDB ์ค์น
sudo apt install mysql-server # Ubuntu
sudo yum install mariadb-server # CentOS
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ์ฌ์ฉ์ ์์ฑ
sudo mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4. Nextcloud ๋ค์ด๋ก๋
Nextcloud์ ์ต์ ๋ฒ์ ์ ๋ค์ด๋ก๋ํฉ๋๋ค.
cd /var/www
sudo wget https://download.nextcloud.com/server/releases/nextcloud-<latest_version>.zip
sudo unzip nextcloud-<latest_version>.zip
sudo chown -R www-data:www-data nextcloud
5. Apache/Nginx ์ค์
Apache ์ค์
sudo nano /etc/apache2/sites-available/nextcloud.conf
์๋ ๋ด์ฉ์ ์ถ๊ฐํฉ๋๋ค:
<VirtualHost *:80>
DocumentRoot /var/www/nextcloud
ServerName your_domain_or_IP
<Directory /var/www/nextcloud/>
Options Indexes MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>
์ค์ ์ ํ์ฑํํ๊ณ Apache๋ฅผ ์ฌ์์ํฉ๋๋ค:
sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
Nginx ์ค์
sudo nano /etc/nginx/conf.d/nextcloud.conf
์๋ ๋ด์ฉ์ ์ถ๊ฐํฉ๋๋ค:
server {
listen 80;
server_name your_domain_or_IP;
location / {
rewrite ^ /index.php$request_uri;
}
location ~ ^/index\.php {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # PHP ๋ฒ์ ํ์ธ ํ์
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~* \.(jpg|jpeg|gif|css|png|js|ico|svg)$ {
try_files $uri =404;
}
}
Nginx๋ฅผ ์ฌ์์ํฉ๋๋ค:
sudo systemctl restart nginx
6. Nextcloud ์น ์ค์น
์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด๊ณ http://your_domain_or_IP
์ ์ ์ํฉ๋๋ค. Nextcloud ์ค์น ๋ง๋ฒ์ฌ๊ฐ ๋ํ๋๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ ์งํํฉ๋๋ค.
- ๊ด๋ฆฌ์ ๊ณ์ ์ค์ : ๊ด๋ฆฌ์์ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ : MySQL/MariaDB ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ณด๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์:
nextclouduser
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ:
nextcloud
- ๋น๋ฐ๋ฒํธ:
your_password
- ์ค์ ์๋ฃ: ์ค์น๊ฐ ์๋ฃ๋๋ฉด Nextcloud ๋์๋ณด๋๋ก ์ด๋ํฉ๋๋ค.
7. SSL ์ค์ (์ ํ ์ฌํญ)
Let's Encrypt๋ฅผ ์ฌ์ฉํ์ฌ SSL์ ์ค์ ํ ์ ์์ต๋๋ค. Certbot์ ์ค์นํ๊ณ SSL ์ธ์ฆ์๋ฅผ ์์ฑํฉ๋๋ค.
sudo apt install certbot python3-certbot-apache # Apache
sudo apt install certbot python3-certbot-nginx # Nginx
์ธ์ฆ์ ์์ฑ:
sudo certbot --apache # Apache
sudo certbot --nginx # Nginx
๊ฒฐ๋ก
์ด์ Nextcloud๊ฐ ์ค์น๋์ด ๊ฐ์ธ ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง๋ฅผ ์ด์ํ ์ ์์ต๋๋ค. ํ์ผ์ ์ ๋ก๋ํ๊ณ , ๊ณต์ ํ๋ฉฐ, ํ์ ํ ์ ์๋ ๊ฐ๋ ฅํ ๋๊ตฌ๊ฐ ์ค๋น๋์์ต๋๋ค.